//
// Int8.hh for  in /home/jousse_f//workspace/C++/abstractVM
// 
// Made by florian jousseau
// Login   <jousse_f@epitech.net>
// 
// Started on  Mon Feb  6 11:09:32 2012 florian jousseau
// Last update Thu Feb 16 17:29:18 2012 florian jousseau
//

#ifndef FLOAT_H_
# define FLOAT_H_

#include <string>
#include "IOperand.hh"

class		Float : public IOperand
{
  float			Number;
  eOperandType		Type;
  std::string		Representation;

public :
  Float(float nb, eOperandType type);
  Float(const Float & other);
  Float	&operator=(const Float & other);
  float	getNumber() const;
  virtual std::string const & toString() const;
  virtual int getPrecision() const;
  virtual eOperandType	getType() const;
  virtual IOperand	*operator+(const IOperand &rhs) const;
  virtual IOperand	*operator-(const IOperand &rhs) const;
  virtual IOperand	*operator*(const IOperand &rhs) const;
  virtual IOperand	*operator/(const IOperand &rhs) const;
  virtual IOperand	*operator%(const IOperand &rhs) const;
  virtual ~Float();

private:
  void		setRepresentation();
};

#endif /* !INT8_H_ */
